เนื่องด้วยปริมาณน้ำที่ไหลในลำน้ำธรรมชาติมักจะผันแปรไปตามจำนวนฝนที่ตกในเขตลุ่มน้ำและตามฤดูกาลกล่าวคือในช่วงฤดูน้ำหลากน้ำในแม่น้ำอาจจะมีจำนวนมากแต่ในฤดูแล้งจะมีจำนวนเพียงเล็กน้อยส่วนลำธารและทางน้ำเล็ก ๆ นั้นโดยมากจะมีน้ำไหลมาเฉพาะในเวลาที่ฝนตกเท่านั้นเหตุนี้จึงทำให้โครงการชลประทานประเภททดน้ำซึ่งต้องอาศัยน้ำที่ไหลในลำน้ำธรรมชาติโดยตรงไม่ค่อยจะได้ผลเต็มที่อาจทำให้การเพาะปลูกในเขตโครงการชลประทานได้รับความเสียหายเมื่อไม่มีน้ำไหลมากเพียงพอในเวลาที่ต้องการ
การแก้ไขปัญหาเพื่อให้มีน้ำใช้สำหรับการชลประทานอย่างเพียงพอในเวลาที่ต้องการตลอดไปจึงจำเป็นต้องหาวิธีการเก็บกักน้ำที่มีมามากในลำน้ำตอนฤดูน้ำหลากไว้เพื่อให้เป็นแหล่งน้ำต้นทุนเก็บสำรองไว้ใช้เมื่อถึงคราวจำเป็น
หนองและบึงเป็นแหล่งเก็บกักน้ำบนผิวดินตามธรรมชาติขนาดเล็กซึ่งเก็บน้ำไว้ได้เฉพาะสำหรับพื้นที่เพาะปลูกจำนวนไม่มากนัก วนทางน้ำไหลอันได้แก่ แม่น้ำ ลำธารและลำห้วย ฯลฯ เมื่อได้สร้างเขื่อนเก็บกักน้ำหรือทำนบปิดกั้นไว้ระหว่างหุบเขาหรือเนินสูงเพื่อเก็บน้ำที่มีทางมากในฤดูฝนไว้จะทำให้เกิดเป็นแหล่งน้ำถาวรขนาดใหญ่เรียกว่า "อ่างเก็บน้ำ" อ่างเก็บน้ำดังกล่าวนี้จึงเปรียบเสมือนกับตุ่มหรือถังเก็บน้ำที่รองน้ำฝนจากหลังคาบ้านเก็บน้ำไว้ใช้ในเวลาที่ฝนไม่ตก
ปริมาณน้ำตามธรรมชาติที่อ่างเก็บน้ำสามารถเก็บเอาไว้ได้นั้นจะขึ้นอยู่กับปริมาณฝนที่ตกในเขตพื้นที่รับน้ำฝนเหนือเขื่อนและยังขึ้นอยู่กับขนาดของพื้นที่รับน้ำฝนซึ่งเปรียบเสมือนหลังคาบ้านอ่างเก็บน้ำแห่งหนึ่ง ๆ จะมีการกำหนดขนาดความจุที่เหมาะสมเท่าใดนั้นย่อมพิจารณาได้ดังนี้ คือ โครงการชลประทานที่มีพื้นที่ส่งน้ำจำนวนจำกัดจะกำหนดขนาดอ่างเก็บน้ำให้เก็บกักน้ำไว้เฉพาะในปริมาณที่ต้องการสำหรับพื้นที่ส่งน้ำของโครงการที่มีอยู่ส่วนของโครงการชลประทานที่มีพื้นที่ส่งน้ำจำนวนมากแต่มีปริมาณน้ำก็จะกำหนดขนาดของอ่างเก็บน้ำให้มีความจุสำหรับน้ำที่จะมีมาทั้งหมดโดยไม่ปล่อยให้มีน้ำเหลือไหลทิ้งไปโดยเปล่าประโยชน์
โครงการชลประทานที่มีน้ำจากอ่างเก็บน้ำช่วยมักจะไม่เกิดปัญหาการขาดแคลนน้ำในฤดูกาลเพาะปลูกในเขตโครงการจะสามารถทำการชลประทานได้อย่างมีประสิทธิภาพดีกว่าการชลประทานประเภทที่ใช้น้ำเฉพาะที่มีมาตามธรรมชาติโดยตรงและนอกจากนี้ยังจะมีน้ำจากอ่างเก็บน้ำทำการเพาะปลูกพืชในหน้าแล้งได้เป็นอย่างดีอีกด้วย